Skip to content

AWS OIDC: Accept custom issuers#38785

Merged
marcoandredinis merged 6 commits into
masterfrom
marco/awsoidc-custom-issuer
Mar 15, 2024
Merged

AWS OIDC: Accept custom issuers#38785
marcoandredinis merged 6 commits into
masterfrom
marco/awsoidc-custom-issuer

Conversation

@marcoandredinis
Copy link
Copy Markdown
Contributor

@marcoandredinis marcoandredinis commented Feb 29, 2024

AWS OIDC Integration now support custom issuers.
There's a new optional field in the integration: issuer.
If this field is present, it will be used as the issuer/iss claim in the JWT.
If not, the previous logic applies: it uses the proxy's public endpoint.

As an example, we could set this to be a public S3 bucket which doesn't suffer from the thumbprint validation issue.

Context: #38782

@marcoandredinis marcoandredinis added the no-changelog Indicates that a PR does not require a changelog entry label Feb 29, 2024
@marcoandredinis marcoandredinis force-pushed the marco/awsoidc-custom-issuer branch 2 times, most recently from ad181fa to 4e0f2fa Compare February 29, 2024 15:05
@marcoandredinis marcoandredinis force-pushed the marco/awsoidc-custom-issuer branch from 4e0f2fa to 2267c21 Compare February 29, 2024 15:11
@marcoandredinis marcoandredinis marked this pull request as ready for review February 29, 2024 15:31
@marcoandredinis marcoandredinis force-pushed the marco/awsoidc-custom-issuer branch 6 times, most recently from e737ef6 to 0b6d710 Compare March 7, 2024 18:38
@marcoandredinis
Copy link
Copy Markdown
Contributor Author

@capnspacehook Can you please take another look? After some discussion I ended up being explicit about using an S3 bucket instead of using any URL

Comment thread api/proto/teleport/legacy/types/types.proto Outdated
Comment thread lib/web/integrations.go Outdated
Comment thread lib/web/ui/integration.go Outdated
@marcoandredinis marcoandredinis force-pushed the marco/awsoidc-custom-issuer branch 3 times, most recently from 09860f5 to cde7c08 Compare March 11, 2024 10:00
@marcoandredinis marcoandredinis force-pushed the marco/awsoidc-custom-issuer branch 3 times, most recently from 5837314 to 70fdcd3 Compare March 15, 2024 14:29
Comment thread api/types/integration.go Outdated
Comment thread api/types/integration.go Outdated
@public-teleport-github-review-bot public-teleport-github-review-bot Bot removed the request for review from fspmarshall March 15, 2024 15:50
@marcoandredinis marcoandredinis force-pushed the marco/awsoidc-custom-issuer branch from 8fa75a2 to f0a6336 Compare March 15, 2024 17:21
This PR adds a new field into the AWS OIDC fields:
- issuer

This is the issuer that was configured in AWS.
It is used by teleport to set the `issuer/iss` field when generating the
JWT.
This way we'll be able to set a custom issuer.
As an example, we could set this to be a public S3 bucket which doesn't
suffer from the thumbprint validation issuer.
@marcoandredinis marcoandredinis force-pushed the marco/awsoidc-custom-issuer branch from f0a6336 to bc21b5d Compare March 15, 2024 17:32
@marcoandredinis marcoandredinis force-pushed the marco/awsoidc-custom-issuer branch from bc21b5d to 2b2866c Compare March 15, 2024 17:52
@marcoandredinis marcoandredinis added this pull request to the merge queue Mar 15, 2024
Merged via the queue into master with commit a006887 Mar 15, 2024
@marcoandredinis marcoandredinis deleted the marco/awsoidc-custom-issuer branch March 15, 2024 18:26
@public-teleport-github-review-bot
Copy link
Copy Markdown

@marcoandredinis See the table below for backport results.

Branch Result
branch/v14 Failed
branch/v15 Failed

marcoandredinis added a commit that referenced this pull request Mar 18, 2024
* AWS OIDC: Accept custom issuers

This PR adds a new field into the AWS OIDC fields:
- issuer

This is the issuer that was configured in AWS.
It is used by teleport to set the `issuer/iss` field when generating the
JWT.
This way we'll be able to set a custom issuer.
As an example, we could set this to be a public S3 bucket which doesn't
suffer from the thumbprint validation issuer.

* ensure issuer is a valid https url

* use s3 uri instead of any url for issuer

* typo and require s3 fields

* add missing s3 location when creating integration

* improve error messages
marcoandredinis added a commit that referenced this pull request Mar 18, 2024
* AWS OIDC: Accept custom issuers

This PR adds a new field into the AWS OIDC fields:
- issuer

This is the issuer that was configured in AWS.
It is used by teleport to set the `issuer/iss` field when generating the
JWT.
This way we'll be able to set a custom issuer.
As an example, we could set this to be a public S3 bucket which doesn't
suffer from the thumbprint validation issuer.

* ensure issuer is a valid https url

* use s3 uri instead of any url for issuer

* typo and require s3 fields

* add missing s3 location when creating integration

* improve error messages
github-merge-queue Bot pushed a commit that referenced this pull request Mar 18, 2024
* AWS OIDC: Accept custom issuers (#38785)

* AWS OIDC: Accept custom issuers

This PR adds a new field into the AWS OIDC fields:
- issuer

This is the issuer that was configured in AWS.
It is used by teleport to set the `issuer/iss` field when generating the
JWT.
This way we'll be able to set a custom issuer.
As an example, we could set this to be a public S3 bucket which doesn't
suffer from the thumbprint validation issuer.

* ensure issuer is a valid https url

* use s3 uri instead of any url for issuer

* typo and require s3 fields

* add missing s3 location when creating integration

* improve error messages

* AWS OIDC IdP Configuration: support S3 buckets as provider (#39026)

This PR adds support for setting the AWS OIDC Integration with an S3
bucket as issuer.

* AWS OIDC: Require S3 for configure IdP Script (#39113)

There are two new required fields for generating the configure IdP
script:
- s3Bucket
- s3Prefix

This must form a valid URI when joining them:
s3://<s3Bucket>/<s3Prefix>

* update aws sdk to branch/v15
github-merge-queue Bot pushed a commit that referenced this pull request Mar 18, 2024
* AWS OIDC: Accept custom issuers (#38785)

* AWS OIDC: Accept custom issuers

This PR adds a new field into the AWS OIDC fields:
- issuer

This is the issuer that was configured in AWS.
It is used by teleport to set the `issuer/iss` field when generating the
JWT.
This way we'll be able to set a custom issuer.
As an example, we could set this to be a public S3 bucket which doesn't
suffer from the thumbprint validation issuer.

* ensure issuer is a valid https url

* use s3 uri instead of any url for issuer

* typo and require s3 fields

* add missing s3 location when creating integration

* improve error messages

* AWS OIDC IdP Configuration: support S3 buckets as provider (#39026)

This PR adds support for setting the AWS OIDC Integration with an S3
bucket as issuer.

* AWS OIDC: Require S3 for configure IdP Script (#39113)

There are two new required fields for generating the configure IdP
script:
- s3Bucket
- s3Prefix

This must form a valid URI when joining them:
s3://<s3Bucket>/<s3Prefix>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

discovery no-changelog Indicates that a PR does not require a changelog entry size/md

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants